from caml.extensions.synthetic_data import CamlSyntheticDataGenerator
Caml Synthetic Data API Usage
Generate Data
= CamlSyntheticDataGenerator(n_obs=10_000,
data =1,
n_cont_outcomes=1,
n_binary_outcomes=1,
n_cont_treatments=1,
n_binary_treatments=1,
n_discrete_treatments=1,
n_cont_confounders=1,
n_binary_confounders=1,
n_discrete_confounders=1,
n_cont_modifiers=1,
n_binary_modifiers=1,
n_discrete_modifiers=1,
n_confounding_modifiers=3,
stddev_outcome_noise=3,
stddev_treatment_noise="linear",
causal_model_functional_form=10,
n_nonlinear_transformations=5,
n_nonlinear_interactions=15) seed
Simulated Dataframe
data.df
W1_continuous | W2_binary | W3_discrete | X1_continuous | X2_binary | X3_discrete | T1_continuous | T2_binary | T3_discrete | Y1_continuous | Y2_binary | |
---|---|---|---|---|---|---|---|---|---|---|---|
0 | 0.706567 | 1 | 0 | -1.652559 | 1 | 1 | 2.494731 | 1 | 1 | -25.198250 | 1 |
1 | 3.315282 | 1 | 2 | -2.775285 | 1 | 0 | 7.464238 | 0 | 0 | -70.792577 | 1 |
2 | 1.908430 | 1 | 3 | -3.451824 | 0 | 1 | 3.470709 | 0 | 1 | -43.344150 | 1 |
3 | 3.743169 | 1 | 0 | -4.319313 | 1 | 0 | 8.065827 | 0 | 4 | -131.063425 | 1 |
4 | 2.781994 | 1 | 3 | -2.901003 | 1 | 0 | 8.161921 | 0 | 4 | -107.833216 | 1 |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
9995 | 1.853102 | 0 | 2 | -2.369628 | 0 | 1 | 4.856855 | 0 | 0 | -30.105565 | 1 |
9996 | 1.710607 | 1 | 2 | -2.642743 | 1 | 1 | 4.286633 | 0 | 0 | -45.993240 | 1 |
9997 | 4.942256 | 0 | 0 | -2.908543 | 0 | 0 | 12.208850 | 0 | 4 | -103.391312 | 1 |
9998 | 3.125018 | 1 | 1 | -3.039957 | 0 | 3 | 15.905126 | 0 | 4 | -165.097366 | 0 |
9999 | 2.500979 | 0 | 0 | -3.320707 | 0 | 3 | 10.460442 | 0 | 4 | -127.790919 | 1 |
10000 rows × 11 columns
DGP
for k,v in data.dgp.items():
print(k)
print(v)
T1_continuous
covariates params global_transformation
0 W1_continuous 2.601096 None
1 W2_binary -1.214932 None
2 W3_discrete -0.128753 None
3 X3_discrete 1.605966 None
T2_binary
covariates params global_transformation
0 W1_continuous -1.633325 Sigmoid
1 W2_binary 0.331532 Sigmoid
2 W3_discrete -2.018670 Sigmoid
3 X3_discrete 0.281986 Sigmoid
T3_discrete
covariates cat_1_params cat_2_params global_transformation
0 W1_continuous 1.251009 -2.752482 Softmax
1 W2_binary -0.364808 2.056047 Softmax
2 W3_discrete -0.068131 1.673660 Softmax
3 X3_discrete 1.310578 2.357792 Softmax
Y1_continuous
covariates params global_transformation
0 W1_continuous -1.553833 None
1 W2_binary -2.998091 None
2 W3_discrete -2.915301 None
3 X1_continuous -1.813285 None
4 X2_binary 0.739353 None
5 X3_discrete 0.082275 None
6 T1_continuous -1.643250 None
7 T2_binary -0.409790 None
8 T3_discrete -2.571727 None
9 int_T1_continuous_X1_continuous 1.374265 None
10 int_T1_continuous_X2_binary -2.330711 None
11 int_T1_continuous_X3_discrete -0.588478 None
12 int_T2_binary_X1_continuous -1.927494 None
13 int_T2_binary_X2_binary -0.416015 None
14 int_T2_binary_X3_discrete -1.346297 None
15 int_T3_discrete_X1_continuous 1.974255 None
16 int_T3_discrete_X2_binary -0.304700 None
17 int_T3_discrete_X3_discrete -0.754942 None
Y2_binary
covariates params global_transformation
0 W1_continuous -0.906427 Sigmoid
1 W2_binary -2.316021 Sigmoid
2 W3_discrete 0.545442 Sigmoid
3 X1_continuous -0.204994 Sigmoid
4 X2_binary 0.417902 Sigmoid
5 X3_discrete 2.195866 Sigmoid
6 T1_continuous 2.169852 Sigmoid
7 T2_binary -2.210767 Sigmoid
8 T3_discrete -2.387556 Sigmoid
9 int_T1_continuous_X1_continuous -0.145369 Sigmoid
10 int_T1_continuous_X2_binary -1.010015 Sigmoid
11 int_T1_continuous_X3_discrete -1.460272 Sigmoid
12 int_T2_binary_X1_continuous 1.614527 Sigmoid
13 int_T2_binary_X2_binary 2.939611 Sigmoid
14 int_T2_binary_X3_discrete -0.418421 Sigmoid
15 int_T3_discrete_X1_continuous -2.972694 Sigmoid
16 int_T3_discrete_X2_binary 2.586574 Sigmoid
17 int_T3_discrete_X3_discrete -1.248249 Sigmoid
True Conditional Average Treatment Effects (CATEs)
data.cates
CATE_of_T1_continuous_on_Y1_continuous | CATE_of_T2_binary_on_Y1_continuous | CATE_of_T3_discrete_on_Y1_continuous_level_1_v_0 | CATE_of_T3_discrete_on_Y1_continuous_level_4_v_0 | CATE_of_T3_discrete_on_Y1_continuous_level_3_v_0 | CATE_of_T3_discrete_on_Y1_continuous_level_2_v_0 | CATE_of_T1_continuous_on_Y2_binary | CATE_of_T2_binary_on_Y2_binary | CATE_of_T3_discrete_on_Y2_binary_level_1_v_0 | CATE_of_T3_discrete_on_Y2_binary_level_4_v_0 | CATE_of_T3_discrete_on_Y2_binary_level_3_v_0 | CATE_of_T3_discrete_on_Y2_binary_level_2_v_0 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | -6.833492 | 1.013194 | -6.893941 | -27.575765 | -20.681824 | -13.787882 | 0.000000 | 0.000000 | 0.166471 | 0.166471 | 0.166471 | 0.166471 |
1 | -7.787938 | 4.523539 | -8.355547 | -33.422188 | -25.066641 | -16.711094 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 |
2 | -6.975448 | 4.897281 | -10.141449 | -40.565795 | -30.424346 | -20.282897 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 |
3 | -9.909840 | 7.499642 | -11.403851 | -45.615403 | -34.211552 | -22.807702 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 |
4 | -7.960707 | 4.765859 | -8.603745 | -34.414982 | -25.811236 | -17.207491 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
9995 | -5.488225 | 2.811356 | -8.004919 | -32.019678 | -24.014758 | -16.009839 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 |
9996 | -8.194268 | 2.921768 | -8.848818 | -35.395272 | -26.546454 | -17.697636 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 |
9997 | -5.640359 | 5.196408 | -8.313932 | -33.255728 | -24.941796 | -16.627864 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 |
9998 | -7.586390 | 1.410815 | -10.838203 | -43.352811 | -32.514608 | -21.676405 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 |
9999 | -7.972215 | 1.951960 | -11.392476 | -45.569903 | -34.177427 | -22.784951 | -0.347813 | -0.800617 | 0.000000 | 0.800617 | 0.069235 | 0.000000 |
10000 rows × 12 columns
True Average Treatment Effects (ATEs)
data.ates
Treatment | ATE | |
---|---|---|
0 | T1_continuous_on_Y1_continuous | -7.420280 |
1 | T2_binary_on_Y1_continuous | 3.120486 |
2 | T3_discrete_on_Y1_continuous_level_1_v_0 | -9.381688 |
3 | T3_discrete_on_Y1_continuous_level_4_v_0 | -37.526754 |
4 | T3_discrete_on_Y1_continuous_level_3_v_0 | -28.145065 |
5 | T3_discrete_on_Y1_continuous_level_2_v_0 | -18.763377 |
6 | T1_continuous_on_Y2_binary | -0.000474 |
7 | T2_binary_on_Y2_binary | -0.109855 |
8 | T3_discrete_on_Y2_binary_level_1_v_0 | 0.139524 |
9 | T3_discrete_on_Y2_binary_level_4_v_0 | 0.247014 |
10 | T3_discrete_on_Y2_binary_level_3_v_0 | 0.219988 |
11 | T3_discrete_on_Y2_binary_level_2_v_0 | 0.186775 |